<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    const sell = [7, 1, 5, 3, 6, 4]
    //因为是股票的利润，所有单纯的最大值减最小值是不对的，要把当前sell[i]左边最小值与sell[i]相比，来获取最大利润。
    //所以sell[i]左边总体是呈现递增才有最大利润，否则就没有利润，把第一个利润当作最大利润，如果往后有更大的利润则取缔。

    /*代码说明： 当前i，左边第一值为min与当前sell[i]的差就是最大差值max（利润），
    当左边的值一直比min小，说明递减，不会有最大利润
    当左边的值比min大，才会有利润，相减得到利润，标记为maxprofit，
    后面的利润与之相比，比起大就是maxprofit直到数组终结
  */
    /*     let i = 0, maxprofit = 0, min = sell[0];
        if (sell.length == 0) {
          max = 0;
        } else {
          for (i; i < sell.length; i++) {
            if (sell[i] < min) {
              min = sell[i]
            } else if ((sell[i] - min) > maxprofit) {
              maxprofit = sell[i] - min
            }
            console.log(maxprofit);
            console.log('min:' + min);
          }
        } */
    const prices = [7, 1, 5, 3, 6, 4]
    let minprice = prices[0];
    let i = 0;
    let maxProfit = 0;
    for (i; i < prices.length; i++) {
      if (prices[i] >= minprice) {
        if ((prices[i] - minprice) > maxProfit) {
          maxProfit = prices[i] - minprice
        }
      } else {
        minprice = prices[i]
      }
      /* if ((prices[i] - minprice) > maxProfit) {
        maxProfit = prices[i] - minprice
      } else {
        minprice = prices[i]
      } */
      console.log('min' + minprice);
      console.log(maxProfit);
    }
    //console.log(maxProfit);
  </script>
</body>

</html>